Handle struct return in FP conversion builtins#3610
Handle struct return in FP conversion builtins#3610vmaksimo wants to merge 1 commit intoKhronosGroup:mainfrom
Conversation
__builtin conversion functions can use `sret` instead of direct returns (e.g. wrapper type `sycl::half`). When sret is present, operand 0 is the return pointer, not the source value.
|
I was thinking about It's too much of a task to say: hey, lets change ABI instead of adding a small-little W/A in llvm-spirv, so I won't insist. But may be you should consider using |
|
I'm out of context of the issue this PR is trying to solve, but from my POV, SPIR-V conversion built-ins should not take/return SYCL data types. I would expect them to work with SYCL class members which represent half/bfloat*/fp* types, which should not require to return user-defined types. Does it make sense? |
__builtin conversion functions can use
sretinstead of direct returns (e.g. wrapper typesycl::half). When sret is present, operand 0 is the return pointer, not the source value.